home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 016 / fcon200i.arc / FCON200.PCH
Encoding:
Text File  |  1987-06-19  |  16.0 KB  |  1,124 lines

  1. A
  2. ;    This is file FCON200.PCH
  3. ;
  4. ;    Use it only on FCONSOLE.DEV version 2.00
  5. ;
  6. ;    To use it: DEBUG FCONSOLE.DEV <FCON200.PCH 
  7. ;
  8. ;    When this command is given, this file will be echoed to your screen.
  9. ;    Under DOS 2, the debugger may give error messages for the lines
  10. ;    starting with semicolons.  This is OK!  Errors for other lines are not!
  11.  
  12. A
  13. ;    Patch A 11/02/86:
  14. ;        Chg letter in scroll recall status.
  15.  
  16. A0FA9
  17. DB 'A'
  18.  
  19. A
  20. ;    Patch A (Part 1) 11/02/86:
  21. ;        Fix Compaq scrn mode initialization table #.
  22. ;        Symptoms:
  23. ;            Screen comes up with 8 pixel rows 
  24. ;            per char instead of 14.
  25.  
  26. A81D0
  27. ES: MOV BYTE [15C8],AL
  28. ES: MOV BYTE [1518],AL
  29. RET
  30.  
  31. AA019
  32. CALL 81D0
  33. NOP
  34.  
  35. A
  36. ;    Patch A (Part 2) 11/02/86:
  37. ;        Fix to not find "Compaq" on non-"Compaq".
  38. ;        Symptoms:
  39. ;            Screen display comes up distorted.
  40.  
  41. A81D9
  42. MOV DX,SI
  43. MOV SI,F0A4
  44. MOV AX,DX
  45. AND AL,BF
  46. CMP AX,SI
  47. RET
  48.  
  49. A9FE1
  50. CALL 81D9
  51. JNZ A023
  52.  
  53. A
  54. ;    Patch A (Part 3) 11/02/86:
  55. ;        Fix LF at FF,FF to roll to 0,FF.
  56. ;        Symptoms:
  57. ;            Screen writing does not appear on screen.
  58.  
  59. A35F9
  60. JZ 3614
  61. CMP DH,[1ED6]
  62. JB 3644
  63. JBE 361D
  64. CMP DH,[1514]
  65. JAE 3614
  66. MOV AX,[DI+2354]
  67. ADD AX,[1516]
  68. JMP 3398
  69.  
  70. A3618
  71. DEC DH
  72. JMP 338E
  73.  
  74. A
  75. ;    Patch A (Part 4) 11/02/86:
  76. ;        Fix so changing FANSI-CRTTABLE resets page base to zero.
  77. ;        Symptoms:
  78. ;            Alt-Ctrl-LessThan/Alt-Ctrl-GreaterThan 
  79. ;            cause old data to appear.
  80.  
  81. A81E5
  82. CALL 6DDE
  83. JMP 665C
  84.  
  85. A616C
  86. CALL 81E5
  87.  
  88. A
  89. ;    Patch A (Part 5) 11/02/86:
  90. ;        Fix FANSI-QUICK to use 16KB at most.
  91. ;        Fix to have at least one page for each display.
  92.  
  93. A81EB
  94. CMP BYTE [DI+1BA4],0
  95. JNZ 81FB
  96. MOV AX,2000
  97. CMP SI,AX
  98. JBE 81FB
  99. MOV SI,AX
  100. AND SI,SI
  101. JNZ 8202
  102. MOV SI,0800
  103. MOV [DI+23C6],SI
  104. RET
  105.  
  106. AA0BC
  107. CALL 81EB
  108. NOP
  109.  
  110. A
  111. ;    Patch B 11/07/86:
  112. ;        Chg letter in scroll recall status.
  113.  
  114. A0FA9
  115. DB 'B'
  116.  
  117. A
  118. ;    Patch B (Part 1) 11/07/86:
  119. ;        Fix CGA cursor shape routine for slow blinking cursor.
  120. ;
  121.  
  122. A8207
  123. MOV AX,CX
  124. AND AX,1F1F
  125. MOV DH,08
  126. RET
  127.  
  128. A6B88
  129. CALL 8207
  130. NOP
  131. CMP AL,DH
  132. JA 6B94
  133. CMP AH,DH
  134. JBE 6B96
  135. MOV DH,0E
  136.  
  137. A
  138. ;    Patch B (Part 2) 11/07/86:
  139. ;        Fix palette setting routine to use mono colors only 
  140. ;            for FANSI-NOCOLOR.
  141.  
  142. A820F
  143. CMP BYTE [1541],0
  144. JZ 8223
  145. MOV DL,AL
  146. AND AL,7
  147. JZ 821E
  148. MOV AL,7
  149. AND DL,F8
  150. OR AL,DL
  151. JMP 8478
  152.  
  153. A84B3
  154. CALL 820F
  155.  
  156. A
  157. ;    Patch B (Part 3) 11/07/86:
  158. ;        Requires Patch A (Part 1)
  159. ;        Fix Compaq external monitor scrn mode initialization table #.
  160. ;        Symptoms:
  161. ;            Using external monitor on Compaq causes 
  162. ;            distorted screen.
  163.  
  164. A8226
  165. CMP DX,SI
  166. JNZ 81D0
  167. RET
  168.  
  169. A9FFD
  170. MOV AX,CS
  171. ;    Watch out for bug in Compaq debugger: 
  172. ;    It does not assemble following instruction correctly!
  173. ;        MOV ES,AX 
  174. ;    Use    DB 8E,C0    instead
  175. DB 8E,C0
  176.  
  177. AA019
  178. ES: MOV [15C0],AL
  179. CALL 8226
  180. NOP
  181.  
  182. A
  183. ;    Patch B (Part 4) 11/07/86:
  184. ;        Fix /R=nn to not clobber 0000:0002.
  185. ;        Symptoms:
  186. ;            NMI interrupt handler may fail and cause hanging.
  187.  
  188. A31A6
  189. MOV AX,DS
  190. MOV ES,AX
  191. MOV CX,0004
  192. MOV DI,1616
  193. MOV SI,00DE
  194. REPZ
  195. MOVSW
  196. CALL 312D
  197.  
  198. A
  199. ;    Patch B (Part 5) 11/07/86:
  200. ;        Fix BIOS print screen flag saved in alternate printer.
  201.  
  202. A7F91
  203. MOV AX,0040
  204. MOV ES,AX
  205. JZ 7F9A
  206. MOV AH,FF
  207.  
  208. A
  209. ;    Patch B (Part 6) 11/07/86:
  210. ;        Fix FANSI-TIMEKEYS.
  211. ;        Symptoms:
  212. ;            FANSI-TIMEKEYS always acts reset.
  213.  
  214. A01AC
  215. DW 2AF5
  216.  
  217. A
  218. ;    Patch B (Part 7) 11/07/86:
  219. ;        Fix scroll lock/num lock hanging problems 
  220. ;            caused by some computers' incompatible INT 15 
  221. ;            handlers which left interrupts off.
  222. ;            May have caused problems with serial/modem programs.
  223.     
  224. A822B
  225. MOV AL,02
  226. STC
  227. INT 15
  228. STI
  229. RET
  230.  
  231. A517F
  232. CALL 822D
  233.  
  234. A4C43
  235. MOV AH,91
  236. CALL 822B
  237.  
  238. A5BDA
  239. MOV AH,90
  240. CALL 822B
  241.  
  242. A4F0C
  243. JNZ 4F1B
  244.  
  245. A4F1A
  246. STI
  247. RET
  248.  
  249. A4F28
  250. JMP 4F18
  251.  
  252. A
  253. ;    Patch C 11/26/86:
  254. ;        Chg letter in scroll recall status.
  255.  
  256. A0FA9
  257. DB 'C'
  258.  
  259. A
  260. ;    Patch C (Part 1) 11/26/86:
  261. ;        Fix IL/DL/RI/SD/SU to clear one line region.
  262. ;        Symptoms:
  263. ;            Some one line regions do not erase properly.
  264.  
  265. A3505
  266. CALL 342F
  267. MOV AH,DH
  268. DEC DH
  269. DEC DL
  270.  
  271. A
  272. ;    Patch C (Part 2) 11/26/86:
  273. ;        Fix so setting FANSI-CRTTABLE does not unhide cursor.
  274. ;        Symptoms:
  275. ;            Alt-Ctrl-LessThan/Alt-Ctrl-GreaterThan
  276. ;            change cursor shape and cause it to show.
  277.  
  278. A8232
  279. MOV DI,[234E]
  280. JMP [DI+230E]
  281.  
  282. A6181
  283. CALL 8232
  284.  
  285. A
  286. ;    Patch C (Part 3) 11/26/86:
  287. ;        Fix EMS recall allocation to be zero when no room left.
  288. ;        Symptoms:
  289. ;            Setting FANSI-RECALL when no EMS space is left
  290. ;            causes it to think 6555 lines are allocated.
  291.  
  292. A3065
  293. XOR DX,DX
  294. AND BX,BX
  295. JZ 3074
  296. DEC BX
  297. JNZ 305D
  298. NOP
  299. NOP
  300. NOP
  301. NOP
  302. NOP
  303. NOP
  304.  
  305. A
  306. ;    Patch C (Part 4) 11/26/86:
  307. ;        Fix key repeat rate to work in local modes
  308. ;        when FANSI-SUPERKEY is reset
  309.  
  310. A823A
  311. CLI
  312. CALL [1768]
  313. STI
  314. JNZ 8245
  315. CALL 4B28
  316. RET
  317.  
  318. A810F
  319. CALL 823A
  320.  
  321. A
  322. ;    Patch C (Part 5) 11/26/86:
  323. ;        Fix border on EGD in modes 13 and 14 when EGDBORDER is reset.
  324. ;        Symptoms:
  325. ;            Border does not show in modes 13 and 14.
  326.  
  327. A8987
  328. CMP AH,0E
  329.  
  330. A
  331. ;    Patch C (Part 6) 11/26/86:
  332. ;        Chg so that setting screen display mode sets Gsets to default.
  333. ;        Symptoms:
  334. ;            Cannot use MODE CO80 to clear alternate charsets.
  335.  
  336. A8246
  337. CALL 2AFD 
  338. JMP 29C7
  339.  
  340. A61DC
  341. CALL 8246
  342.  
  343. A2D15
  344. CALL 8246
  345.  
  346. A
  347. ;    Patch C (Part 7) 11/26/86:
  348. ;        Fix so that total scan lines are used even when
  349. ;            fonts are automatically loaded at mode change time.
  350.  
  351. A824C
  352. DW 0000
  353. MOV [23C2],AX
  354. MOV [814C],AX
  355. RET
  356.  
  357. A87AA
  358. CALL 824E
  359.  
  360. A8787
  361. MOV [814C],AX
  362.  
  363. A891E
  364. MOV AX,[814C]
  365.  
  366. A
  367. ;    Patch C (Part 8) 11/26/86:
  368. ;        Fix so that Compaq color table is CRTTABLE 0, not 1.
  369. ;        Symptoms:
  370. ;            Alt-Ctrl-GreaterThan/Alt-Ctrl-LessThan work backwards.
  371.  
  372. AA007
  373. JBE A00B
  374.  
  375. A
  376. ;    Patch C (Part 9) 11/26/86:
  377. ;        Fix to not include device name as parameters when
  378. ;            path includes minus sign
  379. ;        Symptoms:
  380. ;            Strange character sets in graphics modes.
  381.  
  382. A8255
  383. JCXZ 8259
  384. MOV BL,0A
  385. CALL 9D27
  386. JZ 8259
  387. RET
  388.  
  389. A9D4B
  390. RET
  391. NOP
  392.  
  393. A9D19
  394. MOV BX,0010
  395. CALL 9D27
  396. JNZ 9D59
  397. CALL 8255
  398. JMP 9D4D
  399. NOP
  400.  
  401. A825F
  402. ES: LES SI,[SI+0012]
  403. MOV DI,SI
  404. CALL 9CFF
  405. CMP AL,0D
  406. JZ 8277
  407. INC SI
  408. CMP AL,5C
  409. JZ 8263
  410. CMP AL,2E
  411. JZ 8263
  412. JMP 8265
  413. MOV SI,DI
  414. RET
  415.  
  416. A9D60
  417. CALL 825F
  418. NOP
  419.  
  420. A
  421. ;    Patch D 12/13/86:
  422. ;        Chg letter in scroll recall status.
  423.  
  424. A0FA9
  425. DB 'D'
  426.  
  427. A
  428. ;    Patch D (Part 1) 12/13/86:
  429. ;        Fix FANSI-CLICKREP to not repeat shift/lock clicks.
  430.  
  431. A516D
  432. JMP 517B
  433. MOV AL,[155F]
  434. OR [1B76],AL
  435. JMP 46B7
  436. NOP
  437. NOP
  438.  
  439. A4C40
  440. CALL 516F
  441.  
  442. A
  443. ;    Patch D (Part 2) 12/13/86:
  444. ;        Fix FANSI-RECALL set to zero causing hanging.
  445.  
  446. A827A
  447. MOV [151A],AX
  448. MOV [1B8E],AL
  449. RET
  450.  
  451. A3158
  452. CALL 827A
  453.  
  454. A
  455. ;    Patch D (Part 3) 12/13/86:
  456. ;        Fix so lock status lights on 386 work.
  457. ;        Symptoms:
  458. ;            Locking lights did not light.
  459.  
  460. A8281
  461. PUSH CX
  462. MOV CX,0077
  463. CALL [24A2]
  464. POP CX
  465. RET
  466.  
  467. A8293
  468. CALL 8281
  469. TEST BYTE [1738],30
  470. RET
  471.  
  472. A7DFD
  473. MOV CX,0064
  474. CALL 8293
  475. NOP
  476. NOP
  477.  
  478. A
  479. ;    Patch D (Part 4) 12/13/86:
  480. ;        Fix enhanced mode scroll of nonleft justified area.
  481. ;        Symptoms:
  482. ;            Freelance screens messed up.
  483.  
  484. A829C
  485. ADD AL,CL
  486. ADC AH,0
  487. RET
  488.  
  489. A8D83
  490. CALL 829C
  491. NOP
  492.  
  493. A
  494. ;    Patch D (Part 5) 12/13/86:
  495. ;        Fix number of mode F&10 pages when FANSI-DBLROWS is set.
  496. ;        Symptoms:
  497. ;            Freelance screens messed up.
  498.  
  499. A82A2
  500. CMP BYTE [1511],1
  501. JNZ 82AE
  502. CMP BYTE [23D5],0
  503. RET    
  504.  
  505. A5F03
  506. CALL 82A2
  507. NOP
  508. NOP
  509.  
  510. A
  511. ;    Patch D (Part 6) 12/13/86:
  512. ;        Fix to preserve AX across INT 10H, AH=13H.
  513. ;        Symptoms:
  514. ;            Freelance screens messed up.
  515.  
  516. A82AF
  517. PUSH AX
  518. JMP 640E
  519.  
  520. A82B3
  521. POP CX
  522. POP BX
  523. POP AX
  524. RET
  525.  
  526. A1454
  527. DW 81AF
  528.  
  529. A14F6
  530. DW 81AF
  531.  
  532. A1550
  533. DW 81AF
  534.  
  535. A15AA
  536. DW 81AF
  537.  
  538. A8438
  539. DW 81AF
  540.  
  541. A6499
  542. JMP 82B3
  543.  
  544. A641D
  545. MOV ES,[BP+10]
  546.  
  547. A
  548. ;    Patch D (Part 7) 12/13/86:
  549. ;        Fix so that does not examine next line when no parameters.
  550. ;        Symptoms:
  551. ;            Extra parameters read from next line in CONFIG.SYS.
  552.  
  553. A82B7
  554. CALL 9CFF
  555. CMP AL,0D
  556. JZ 82C0
  557. CMP AL,0A
  558. RET
  559.  
  560. A8265
  561. CALL 82B7
  562. NOP
  563. NOP
  564.  
  565. A9D64
  566. CALL 82B7
  567. NOP
  568. NOP
  569.  
  570. A9D74
  571. CALL 82B7
  572. NOP
  573. NOP
  574.  
  575. A
  576. ;    Patch D (Part 8) 12/13/86:
  577. ;        Fix to not hang waiting for vertical retrace on autoswitch EGAs.
  578. ;        Symptoms:
  579. ;            Hanging with screen blank.
  580.  
  581. A82C1
  582. MOV AL,[836C]
  583. AND AL,AL
  584. JZ 82CD
  585. IN AL,DX
  586. AND AL,08
  587. JZ 82C8
  588. RET
  589. NOP
  590.  
  591. A8494
  592. NOP
  593. CALL 82C1
  594. CLI
  595. IN AL,DX
  596.  
  597. A
  598. ;    Patch D (Part 9) 12/13/86:
  599. ;        Fix KPNM to be effective.
  600. ;        Symptoms:
  601. ;            KPNM does not work.
  602.  
  603. A3E99
  604. JMP 3E93
  605.  
  606. A
  607. ;    Patch E 12/26/86:
  608. ;        Chg letter in scroll recall status.
  609.  
  610. A0FA9
  611. DB 'E'
  612.  
  613. A
  614. ;    Patch E (Part 1) 12/26/86:
  615. ;        Fix assignment of extended keycodes in macros
  616. ;        to correctly allocate memory required.
  617. ;        Symptoms:
  618. ;            Mostly hanging but sometimes strange macros.
  619.  
  620. A42FE
  621. AND AX,AX
  622.  
  623. A
  624. ;    Patch E (Part 2) 12/26/86:
  625. ;        Fix to use exact same length as IBM EGA for graphics modes.
  626. ;        Symptoms:
  627. ;            Freelance screens messed up.
  628.  
  629. A0FFD
  630. DW 4000
  631. DW 4000
  632. DW 4000
  633. DW 0002
  634. DW 4000
  635. DW 4000
  636. DW 4000
  637. DW 1000
  638. DW 1000
  639. DW 2000
  640. DW 4000
  641. DW 8000
  642. DW 8000
  643. DW 8000
  644. DW 8000
  645.  
  646. A8640
  647. JMP 865B
  648.  
  649. A
  650. ;F8642 L19 90
  651.  
  652. A830F
  653. CMP BYTE [23D5],0
  654. JNZ 831C
  655. MOV AX,[15A8]
  656. JMP 2A1D
  657. MOV AX,[23B8]
  658. JMP 2A2A
  659.  
  660. A2A1A
  661. JMP 830F
  662.  
  663. A
  664. ;    Patch E (Part 3) 12/26/86:
  665. ;        Chg to reduce stack requirements in timer interrupt.
  666. ;            Reduce problems with multiple resident programs.
  667. ;            Only use if you experience automatic exits from 1-2-3!
  668. ;        NOTE: 
  669. ;            BECAUSE THIS IS *NOT* A BUG IN FANSI-CONSOLE,
  670. ;            THIS PATCH IS A *COMMENT* HERE.
  671. ;            TO REALLY APPLY THIS PATCH, 
  672. ;            YOU MUST USE THE FILE 123V200.PCH 
  673. ;            OR REMOVE THE SEMICOLONS HERE!
  674.  
  675. A82CF
  676. ;DW 0
  677.  
  678. A82D1
  679. ;MOV AX,SS
  680. ;MOV DX,SP
  681. ;MOV DI,CS
  682. ;CLI
  683. ;CMP AX,DI
  684. ;JZ 82E9
  685. ;CS: CMP BYTE [81CF],0
  686. ;JNZ 82E9
  687. ;MOV SS,DI
  688. ;MOV SP,21FE
  689. ;CS: PUSH [81CF]
  690. ;CS: MOV BYTE [81CF],1
  691. ;STI
  692. ;PUSHF
  693. ;CS: CALL FAR [24B8]
  694. ;JMP 8047
  695.  
  696. A82FE
  697. ;POP DS
  698. ;POP AX
  699. ;CLI
  700. ;CS: POP [81CF]
  701. ;MOV SS,AX
  702. ;MOV SP,DX
  703. ;STI
  704. ;POP DI
  705. ;POP DX
  706. ;POP AX
  707. ;IRET
  708.  
  709. A8041
  710. ;PUSH AX
  711. ;PUSH DX
  712. ;PUSH DI
  713. ;JMP 82D1
  714.  
  715. A8147
  716. ;JMP 82FE
  717.  
  718. A
  719. ;    Patch E (Part 4) 12/26/86:
  720. ;        Fix INT 10H, AH=0EH, and AH=13H
  721. ;        to calculate correct base in enhanced modes.
  722. ;        Symptoms:
  723. ;            Freelance screens messed up.
  724.  
  725. A9092
  726. CALL 8E3B
  727.  
  728. A
  729. ;    Patch E (Part 5) 12/26/86:
  730. ;        Fix INT 10H, AH=13H to use correct reg for string type.
  731. ;        Symptoms:
  732. ;            Freelance screens messed up.
  733.  
  734. A642B
  735. XCHG AL,BH
  736.  
  737. A
  738. ;    Patch F 12/31/86:
  739. ;        Chg letter in scroll recall status.
  740.  
  741. A0FA9
  742. DB 'F'
  743.  
  744. A
  745. ;    Patch F (Part 1) 12/31/86:
  746. ;    Requires patch D (Part 8):
  747. ;        Fix to not miss other interrupts while chging palettes on EGAs.
  748. ;        Symptoms:
  749. ;            Serial/communications program misses incoming chars.
  750.  
  751. A82CD
  752. RET
  753. NOP
  754.  
  755. A8495
  756. CALL 82C1
  757. CLI
  758. IN AL,DX
  759.  
  760. A
  761. ;    Patch F (Part 2) 12/31/86:
  762. ;    Requires patch E (Part 2):
  763. ;        Fix patch E part 2 to not do strange things on non-EGAs.
  764.  
  765. A
  766. ;F8642 L19 90
  767.  
  768. A830F
  769. CMP BYTE [23D5],0
  770. JNZ 831C
  771. MOV AX,[15A8]
  772. JMP 2A1D
  773. MOV AX,[23B8]
  774. JMP 2A2A
  775.  
  776. A2A1A
  777. JMP 830F
  778.  
  779. A
  780. ;    Patch G 01/18/87:
  781. ;        Chg letter in scroll recall status.
  782.  
  783. A0FA9
  784. DB 'G'
  785.  
  786. A
  787. ;    Patch G (Part 1) 01/18/87:
  788. ;        Fix INT 10 AH=10,AL=1,for EGA's to not clobber SI.
  789. ;        Symptoms:
  790. ;            Strange behavior
  791.  
  792. A8322
  793. AND AL,20
  794. ROR AL,1
  795. RET
  796.  
  797. A8327
  798. POP SI
  799. JMP 848B
  800.  
  801. A8A7E
  802. CALL 8322
  803. PUSH SI
  804.  
  805. A8A9A
  806. JMP 8327
  807.  
  808. A
  809. ;    Patch G (Part 2) 01/18/87:
  810. ;        Fix INT 10, AH=11,AL=30,BH=0 to return INT 1F, not 1D.
  811. ;        Symptoms:
  812. ;            Complaints about no EGA.
  813.  
  814. A610E
  815. ES: LES BP,[007C]
  816.  
  817. A
  818. ;    Patch G (Part 3) 01/18/87:
  819. ;        Fix so that keystrokes are not missed on high speed ATs.
  820. ;        (Removes part of Patch D Part 3).
  821. ;
  822. ;    Patch G (Part 4) 01/18/87:
  823. ;        Fix so we do not violate assumption that INT 16s do
  824. ;        happen during INT 10s.
  825. ;        (They will anyway, but not because of us!)    
  826. ;        (Wordperfect Tutor, XRAY)
  827. ;        Symptoms:
  828. ;            Hanging when keys are pressed
  829.  
  830. A7DC7
  831. MOV CX,1000
  832. IN AL,64
  833. AND AL,02
  834.  
  835. A828B
  836. PUSH SI
  837. CALL 5BA0
  838. STI
  839. POP SI
  840. RET
  841. NOP
  842.  
  843. A5CDE
  844. NOP
  845. CALL 828B
  846.  
  847. A
  848. ;    Patch H 03/23/87:
  849. ;        Chg letter in scroll recall status.
  850.  
  851. A0FA9
  852. DB 'H'
  853.  
  854. A
  855. ;    Patch H (Part 1) 03/23/87:
  856. ;        Fix so that printing highlighted lines works when
  857. ;            FANSI-SAVEATTR is reset.
  858. ;        Symptoms:
  859. ;            Only every other character gets printed.
  860.  
  861. A832B
  862. ES: LODSB
  863. ES: CMP BYTE [6],0
  864. JZ 8336
  865. INC SI
  866. RET
  867.  
  868. A5608
  869. CALL 832B
  870.  
  871. A
  872. ;    Patch H (Part 2) 03/23/87:
  873. ;        Fix mode limiting to allow mono to be used inspite of 
  874. ;            equipment flag setting.
  875. ;        (Periscope/Codeview on two screens should now work).
  876. ;        (MODE MONO should now work).
  877.  
  878. A5D6C
  879. JNZ 5D74
  880. AND DL,08
  881. OR DL,07
  882. NOP
  883.  
  884. A5D81
  885. XOR DI,DI
  886. MOV AL,DH
  887. AND AL,07
  888. CMP AL,07
  889. JE 5D8E
  890. MOV DI,0002
  891. MOV AL,DH
  892. CMP AL,07
  893. JBE 5DAB
  894. CMP AL,12
  895. JA 5DA3
  896. CMP AL,10
  897. JA 5DAB
  898. CMP BYTE [1BA4+DI],00
  899. JNZ 5DAB
  900. MOV DH,07
  901. AND DI,DI
  902. JZ 5DAB
  903. MOV DH,03
  904. MOV AL,DH
  905. NOP
  906.  
  907. A
  908. ;    Patch H (Part 3) 03/23/87:
  909. ;        Fix to initialize correctly with DOS 3.3 instead of 
  910. ;            not linking in FCON device.
  911. ;        (FANSISET/FLAYOUT/DEJAVU can now "find" FANSI-CONSOLE)
  912. ;    See also Patch I (Part 4)!
  913.  
  914. A0100
  915. DW 001C
  916.  
  917. A9AFC
  918. JMP 9B11
  919.  
  920. A
  921. ;F9AFE L13 90    
  922.  
  923. A
  924. ;    Patch H (Part 4) 03/23/87:
  925. ;        Add support for F11 and F12.
  926.  
  927. A0710
  928. DW 4BEF,4BEF,4BEF
  929.  
  930. A08B0
  931. DW 4BEF,4BEF,4BEF
  932.  
  933. A0AB8
  934. DB '/',56
  935. DW 8500,8600 
  936.  
  937. A0B88
  938. DB '/',56
  939. DW 8700,8800 
  940.  
  941. A0C5A
  942. DW 8900,8A00 
  943.  
  944. A0D2A
  945. DW 8B00,8C00 
  946.  
  947. A0DF8
  948. DB '/',56
  949. DW 8500,8600 
  950.  
  951. A0594
  952. DB 58
  953.  
  954. A
  955. ;    Patch H (Part 5) 03/23/87:
  956. ;        Chg for bug in AST keyboards.
  957. ;        (Cursor keys generate numerics)
  958.  
  959. A8337
  960. CLI
  961. OR BYTE [1738],20
  962. RET
  963.  
  964. A833E
  965. DB 0
  966. MOV BYTE [823E],01
  967. RET
  968.  
  969. A8346
  970. AND AH,AH
  971. JNS 834F
  972. MOV BYTE [823E],00
  973. MOV AL,AH
  974. AND AL,7F
  975. RET
  976.  
  977. A8354
  978. CMP BYTE [823E],00
  979. JZ 835D
  980. AND AL,DC
  981. TEST AL,03
  982. JZ 8363
  983. NOT AL
  984. RET
  985.  
  986. A5239
  987. CALL 8346
  988. NOP
  989.  
  990. A529C
  991. JNZ 52A3
  992. CALL 8337
  993. JMP 52A6
  994. CALL 833F
  995.  
  996. A4DBB
  997. CALL 8354
  998. NOP
  999. NOP
  1000. NOP
  1001.  
  1002. A4D70
  1003. CALL 8354
  1004. NOP
  1005. NOP
  1006. NOP
  1007.  
  1008. A
  1009. ;    Patch H (Part 6) 03/23/87:
  1010. ;        Fix test to find old Hercules Mono Cards and some poor clones.
  1011. ;        Replaced by Patch I (Part 1)
  1012.  
  1013. A
  1014. ;    Patch I 04/04/87:
  1015. ;        Chg letter in scroll recall status.
  1016.  
  1017. A0FA9
  1018. DB 'I'
  1019.  
  1020. A
  1021. ;    Patch I (Part 1) 04/04/87:
  1022. ;    Replaces Patch H (Part 6)
  1023. ;        Fix Patch H part 6 to not hang on some non-Herc mono cards.
  1024.  
  1025. AA056
  1026. XOR AX,AX
  1027. CALL 814A
  1028. MOV CX,0002
  1029. MOV DX,03BA
  1030. MOV DI,[1CC8]
  1031. INC DI
  1032. CMP DI,[1CC8]
  1033. JS A089
  1034. IN AL,DX
  1035. ROL AL,1
  1036. JNC A066
  1037. CMP DI,[1CC8]
  1038. JS A089
  1039. IN AL,DX
  1040. ROL AL,1
  1041. JC A071
  1042. LOOP A066
  1043. MOV BYTE [23D7],1
  1044. ADD DL,05
  1045. XOR AL,AL
  1046. OUT DX,AL
  1047.  
  1048. AA0E1
  1049. JMP A0EB
  1050.  
  1051. A
  1052. ;FA0E3 L8 90
  1053.  
  1054. A
  1055. ;    Patch I (Part 2) 04/04/87:
  1056. ;    Requires Patch H (Part 2)
  1057. ;        Fix patch H part 2 mode limiting to not causing hanging.
  1058.  
  1059. A5D6C
  1060. JNZ 5D74
  1061. AND DL,08
  1062. OR DL,07
  1063.  
  1064. A
  1065. ;    Patch I (Part 3) 04/04/87:
  1066. ;    Requires Patch E (Part 2)
  1067. ;        Fix to not use "internal modes" B & C on EGA 
  1068. ;        for loading charsets.  (Smudge chars)
  1069.  
  1070. A8642
  1071. CALL 846F
  1072. MOV DL,CE
  1073. MOV AX,0005
  1074. CALL 846F
  1075. MOV AX,0406
  1076. JMP 846F
  1077.  
  1078. A8632
  1079. MOV DX,03C4
  1080. MOV AX,0402
  1081. CALL 846F
  1082. MOV AX,0704
  1083. JMP 8642
  1084.  
  1085. A
  1086. ;    Patch I (Part 4) 05/29/87:
  1087. ;    Requires Patch H (Part 3):
  1088. ;        Fix to initialize correctly with DOS 3.3 so that it 
  1089. ;            may be loaded after another device driver.
  1090.  
  1091. A9B61
  1092. MOV AX,[14FA]
  1093. LES DI,[1CCE]
  1094. ES: MOV WORD PTR [DI+0E],0000
  1095. INC AX
  1096. CALL 9AFE
  1097.  
  1098. A9AFE
  1099. ES: MOV [DI+10],AX
  1100. RET
  1101.  
  1102. A8364
  1103. ;    Next patch address.
  1104. ;    Last patch address plus 1 = 83D0.
  1105.  
  1106. A8653
  1107. ;    EGA-only patch space.
  1108. ;    Last patch address plus 1 = 865B.
  1109. ;    Requires Patch E (Part 2)
  1110.  
  1111. A9B03
  1112. ;    Init-only patch space.
  1113. ;    Last patch address plus 1 = 9B11.
  1114. ;    Requires Patch H (Part 3)
  1115.  
  1116. AA0E3
  1117. ;    Init-only patch space.
  1118. ;    Last patch address plus 1 = A0EB.
  1119. ;    Requires Patch H (Part 6)
  1120.  
  1121. W
  1122. Q
  1123.  
  1124.